home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Text / Edit / XDme / Macros / C / c.xdme < prev    next >
Encoding:
Text File  |  1994-08-09  |  3.2 KB  |  72 lines

  1. #
  2. #   Init for C-Source-Tools
  3. #
  4. #   $VER: c V1.00 (18.11.1992)
  5. #
  6.  
  7. # Where the data-files and scripts are
  8. set dir DATA:
  9.  
  10. # Map keys
  11. map c-f1    `source $(dir)h_f.xdme'
  12. map c-f2    `source $(dir)h_c.xdme'
  13. map c-f3    `source $(dir)h_h.xdme'
  14. map c-f4    `quiet `source $(dir)func.xdme' redisplay'
  15. map c-f5    `source $(dir)addinc.xdme'
  16.  
  17. # add menu
  18. menuadd `Sprache' `C-File       c-f2' c-f2
  19. menuadd `Sprache' `H-File       c-f3' c-f3
  20. menuadd `Sprache' `Funktion     c-f1' c-f1
  21. menuadd `Sprache' `Hdr->Dcl     c-f4' c-f4
  22. menuadd `Sprache' `Add Include  c-f5' c-f5
  23.  
  24. # Define all kind of parens: /*  */, (), [], "", !() , {}
  25. # with automatic positioning of the cursor
  26. map c-/ `(/*  */) left left left'
  27. map `c-(' ``()' left'
  28. map c-[ ``[]' left'
  29. map c-" ``""' left'
  30. map c-! ``!() 'left left'
  31. map s-[ `last if x>1 right `{' firstnb downadd repeat 3 insline downadd `}' up left tab'
  32. map sc-[ ``{}' left'
  33.  
  34. # Short for #include and #define
  35. map A-/ `first insline `#include <>' left'
  36. map A-* `first insline `#define ''
  37.  
  38. # main()-body
  39. map s-nk7 `repeat 7 insline down first `int main (int argc, char *argv[])' first down down `{' down down left `} /* main () */' first up tab'
  40.  
  41. # insert a function WITH arguments but WITHOUT HEADER
  42. map s-nk8 `repeat 7 insline down first ` ()' down down first `{' down left ping 9 down `} /* § */' findstr `\(' up prev first escimm (\`) wleft scanf %s findr § \$scanf findstr `)' prev escimm (\`) pong 9 tab'
  43. # dito, but WITHOUT arguments
  44. map s-nk9 `repeat 7 insline down first ` ()' down down first `{' down down left `} /* § */' findstr `\(' up prev first escimm (\`) wleft scanf %s findr § \$scanf first up tab'
  45.  
  46. # insert struct or union
  47. map s-nk4 `repeat 5 insline down first `struct  = {' left left left left escimm (\`) down down first tab `};' up left left'
  48. map s-nk5 `repeat 5 insline down first `union  = {' left left left left escimm (\`) down down first tab `};' up left left'
  49.  
  50. # insert switch, case or for
  51. map s-nk1 `repeat 4 insline down `switch () {' left left left ping 9 escimm (\`) pong 9 scanf %s firstnb down down `} /* switch (' (\$scanf) ` */' firstnb up tab'
  52. map s-nk2 `repeat 4 insline down `case () : {' left left left left left ping 9 escimm `\(' pong 9 scanf %s firstnb down down `break; } /* case (' (\$scanf) ` */' firstnb up tab'
  53. map s-nk3 `repeat 4 insline down `for () {' left left left escimm (\`) firstnb scanf %[\\\^{] down down `} /* */' left left `\$scanf' firstnb up tab'
  54.  
  55. # insert if or if-else
  56. map s-nk0 `repeat 4 insline down `if () {' left left left escimm (\`) firstnb scanf %[\\\^{] down down `} /* */' left left `\$scanf' firstnb up tab'
  57. map s-nk. `repeat 6 insline down `if () {' left left left escimm (\`) firstnb scanf %[\\\^{] down down `} else {' down down repeat 8 left `} /* */' left left `\$scanf' firstnb up up up tab'
  58.  
  59. # insert do-while or while
  60. map s-nk- `repeat 4 insline down `do {' firstnb down down `} while ();' left left escimm (\`) firstnb up tab'
  61. map s-enter `repeat 4 insline down `while () {' left left left escimm (\`) firstnb scanf %[\\\^{] down down `} /* */' left left `\$scanf' firstnb up tab'
  62.  
  63. # insert FF or ESC
  64. map c-l ``^l''
  65. map c-e ``^[''
  66.  
  67. # Add some paths for REFS
  68. addpath dcc:man
  69. addpath dcc:doc
  70. addpath sc:include
  71. addpath sc:cxxinclude
  72.